package us.wili.dev.exception;

import org.apache.commons.lang3.StringUtils;

public class AssertUtils {
    private AssertUtils() {}

    /**
     * 如果传进来的字符串是空的,抛出与errorCode相关的异常
     */
    public static void notBlank(String str, ErrorCode errorCode) {
        if (StringUtils.isBlank(str)) {
            throw new UserException(errorCode);
        }
    }

    /**
     * 如果传进来的对象为null,抛出与errorCode相关的异常
     */
    public static void notNull(Object object, ErrorCode errorCode) {
        if (object == null) {
            throw new UserException(errorCode);
        }
    }

    /**
     * 如果条件表达式不为真,那么就抛出errorCode相关的异常
     * @param flag  条件表达式
     * @param errorCode errorCode 枚举
     */
    public static void ifFalseThrow(boolean flag, ErrorCode errorCode) {
        if (!flag) {
            throw new UserException(errorCode);
        }
    }

    /**
     * 如果条件为真,抛出与errorCode相关的异常
     */
    public static void ifTrueThrow(boolean flag, ErrorCode errorCode) {
        if (flag) {
            throw new UserException(errorCode);
        }
    }
}
